1. Field of the Invention
The present invention pertains to the field of testing complex electronic product devices over many phases of the products life cycle.
2. Statement of the Problem
Test systems are used to test complex electronic product devices over many phases of the product's life cycle which include test development, qualification testing, and manufacturing testing. These complex electronic product devices are tested for many independent parameters and are part of many different model families. Due to the large number of different products, different parameters to be tested and product model families, a test engineer is tasked with constantly modifying the test system without errantly causing the test system to become inoperative due to misplaced modifications or code. In addition, prior art test programs have lacked a common uniform operator interface when operating within these different manufacturing environments and different model families.
Prior art test programs are difficult to design tests for because a test engineer has to focus on the whole test when designing or modifying the individual parts of a test program, such as individual tests, tests lists or test algorithms. In prior art systems, test procedures are incorporated into the test algorithms, thereby making the test algorithm susceptible to errantly entered commands while modifying a test procedure. Further, a test engineer must consider the interactions between a test, lists of tests, test algorithms and the test system. Additionally, whenever the test engineer has to modify a test, he must consider the interactions with the whole system.
In addition, test sequencing can be rigid and inflexible when using test systems designed with large bulky test algorithms incorporated into structured programs. This increases the time a test engineer spends on rewriting or debugging the test system algorithms due to inerrant test procedure modifications or entries. In addition, portions of a test cannot be easily reused by a test engineer because they are written into a larger structured program. This inability to reuse test system code increases time rewriting or reentering new non-reusable test system code.
Another problem faced by test engineers in testing electronic product devices is that they must interface with other manufacturing systems. They often must incorporate a variety of software languages in designing test systems that interface with the electronic product device, the output devices and remote test initiation and monitoring devices. Test designs for these varying devices and systems often need to be developed in different software languages, some obsolete, to incorporate all of the different devices and systems of the test system. Test engineers are also faced with the difficulty of running the test system on unsupported and nonstandard operating systems that present a non functional interface system to the test engineer.
3. Solution to the Problem
The present invention advances the art and helps to overcome the aforementioned problems by providing a hierarchical test system that allows the test designer to modify an individual device and its associated test parameters in individual modules or objects. This allows a test engineer to modify and create the test device parameter objects without affecting the test systems algorithms. The objects are functionally predetermined to interact with the test system through an object interface in a predetermined manner, with good certainty that they will not interact in undocumented ways. This permits each of the objects to be reused in different programs and to be easily modified without affecting parts of the program external to the object.
The definition of the hierarchical levels and assigning an object to each hierarchical level results in the test engineer being able to break down a complex test into manageable units that can be separately considered and the interaction of which can be easily understood. The invention preferably contains a four-level hierarchical system, preferably including the following levels: Procedure, Test, Measurement and Datapoint. The hierarchy is one in which each lower level is a subset of the next higher level. The hierarchy is implemented in the software as a tree of four objects, each of which maps to one of the hierarchical levels. Interactions of the objects are governed by pointers which reflect relationships between hierarchical levels. The invention makes test development and maintenance more efficient because the test procedure data is consistently organized in a logical fashion and is separate from the test algorithm.
The invention preferably contains pure virtual base classes that define the interface between the electronic test system and test software. Actual test software and code component plug-ins are derived from these base classes. By referencing these base classes by Virtual Basic™ test software projects and plug-in projects, the base classes themselves will remain free from unwanted file modification or corruption. This also allows the electronic test system, test software and plug-ins to be revised without affecting each other. This also protects against unwanted and errant code being written during design and modification of new or existing test procedures.
To achieve desired climatic testing conditions for the electronic devices, in one aspect, the invention preferably includes an enclosed testing environment. This enclosed testing environment contains a temperature device and a humidity device, capable of achieving desired climatic testing conditions. The temperature device and humidity device are adapted to communicate with a chamber driver. The chamber driver is adapted to communicate with the processor of the electronic testing device. The test developer can instantly modify temperature and humidity settings for testing the electronic devices under test by changing temperature and humidity settings in the electronic test system. The enclosed testing environment allows the test developer to test electronic devices within a temperature controlled and humidity controlled environment. The enclosed testing environment is capable of containing a plurality of electronic devices under test. The plurality of electronic devices under test are adapted to communicate with the electronic test system while in the enclosed testing environment.
The electronic test system preferably is designed to be controlled automatically and remotely from another program, such as a manufacturing process controller or an environmental test profile controller. Test developers and test users can modify test procedures and execute the invention from different areas of the production and manufacturing processes. The electronic test system is designed with a common and popular programming language to help ensure common and uniform development and modification throughout the manufacturing and production process and between its various users and developers.
The invention provides an electronic test system for testing an electronic device under test (DUT), the test system comprising: an electronic processor; an electronic memory coupled to the electronic processor; a hierarchical program structure residing in the memory and executed by the processor, the hierarchical program structure having multiple levels including a measurement level corresponding to a measurement to be performed on the DUT, a test level corresponding to one or more of the measurements, and a procedure level corresponding to an ordered list of the tests to be performed on the DUT. Preferably, the hierarchical program structure further includes a datapoint level corresponding to a single result of a measurement, and the measurement level includes a plurality of the datapoints.
In another aspect, the invention provides an electronic test system for testing an electronic device under test (DUT), the test system comprising: an electronic processor; an electronic memory coupled to the electronic processor; a hierarchical program structure residing in the memory and executed by the processor, the hierarchical program structure having multiple levels including a measurement level corresponding to a measurement to be performed on the DUT, a test level corresponding to one or more of the measurements, and a procedure level corresponding to an ordered list of the tests to be performed on the DUT, each level embodied in the electronic test system as a software object. Preferably, the hierarchical program structure further includes a datapoint level, and the measurement level corresponds to a group of datapoints, the datapoint level embodied in the electronic test system as a datapoint software object. Preferably, the hierarchical program structure further includes a product model level corresponding to a set of procedures for testing a family of the DUT. Preferably, the set of procedures in the product model level are stored in a DLL file. Preferably, the procedure object comprises a structure of component object model (COM) objects. Preferably, the test object defines a test algorithm. Preferably, the test algorithm comprises one or more electronic operations defined by software code, and the electronic parameters for the electronic functions are provided by the measurement object. Preferably, the test object contains the measurement object, and the measurement object contains the datapoint object.
The invention also provides an electronic test system comprising: an electronic processor; an electronic memory coupled to the electronic processor; a hierarchical structure residing in the memory and executed by the processor, the hierarchical structure having multiple levels, each level embodied in the electronic test system as an object defined by a class, wherein the implementation of the object is defined by the user of the hierarchical structure by implementing the class; the classes including a measurement class corresponding to a measurement to be performed on the device, a test class corresponding to one or more related measurements, and a procedure class corresponding to an ordered list of tests to be performed on the device. Preferably, the hierarchical structure further includes a datapoint class linked to the measurement class. Preferably, the electronic test system further comprises: a test software class, the test software class defining: a test software object and a set of object methods, the set of object methods defining: an object method that displays information to a user of the apparatus, an object method that is responsive to changes in the test software and is capable of creating the procedure object, an object method capable of creating the test object, the measurement object, and the datapoint object, and an object method capable of beginning and ending a selected procedure. Preferably, the electronic test system further comprises: a software object method capable of beginning and ending the procedure, and a software object method capable of beginning and ending the test. Preferably, the electronic test system further comprises: a chamber driver residing in the memory, the chamber driver capable of controlling a temperature output device and a humidity output device. Preferably, the electronic processor further is adapted for electronically communicating with the DUT for executing the test software on the DUT and receiving a plurality of electronic outputs from the DUT corresponding to the measurement objects and the datapoint objects. Preferably, the electronic test system further comprises a manual input device communicating with the processor, the manual input device selected from the group consisting of a keyboard, a knob, a spin control, a mouse, a joy stick, a touch pad, and a roller ball. Preferably, the electronic test system further comprises plug-in software code components residing in the memory and providing an interface to other systems. Preferably, the electronic test system further comprises a COM control interface residing in the memory permitting the test system to be initiated and monitored from other systems. Preferably, the COM control interface comprises an ActiveX™ COM interface.
The invention also provides a method for producing an electronic test system software program for testing an electronic device under test (DUT), the program including a hierarchical structure having multiple levels including a measurement level corresponding to a measurement to be performed on the DUT, a test level corresponding to one or more of the measurements, and a procedure level corresponding to an ordered list of the tests to be performed on the DUT, each level embodied in the program as a software object for testing a device under test (DUT), the method comprising the steps of: providing a set of functions wherein the implementation of the functions is defined by the hierarchical structure; implementing the functions to define the test system software program; generating the electronic test system software objects by executing the functions; and utilizing the software objects to test the DUT. Preferably, the hierarchical structure further includes a datapoint level which is a subset of the measurement level.
The invention also provides a computer-readable medium on which is stored a program for testing an electronic device under test (DUT), the computer program comprising: a measurement software object corresponding to a measurement to be performed on the DUT; a test software object defining a test algorithm utilizing parameters provided by the measurement object and corresponding to a test to be performed on the DUT; a procedure software object corresponding to an ordered list of the tests to be performed on the DUT; and a plurality of software pointers linking the measurement object, the test object and the procedure object. Preferably, the computer-readable medium further includes a datapoint object linked to the measurement object.
In another aspect, the invention provides an electronic test system for testing a device under test (DUT), the test system comprising: an electronic processor; an electronic memory coupled to the electronic processor; a procedure residing in the memory and executed by the processor, the procedure embodied in the electronic test system as a software object for testing a device under test (DUT), wherein the procedure comprises: a function defined by a class, wherein the implementation of the function is defined by the user of the test system by implementing the class; the procedure object including: a first set of software object methods in the procedure object to perform a plurality of predetermined functions to implement the procedure object. Preferably, the electronic test system further comprises: a test class defining a test object corresponding to a test to be performed on the DUT, a second set of object methods for creating the test; and the procedure object containing the test object.
The system also provides a method for producing an electronic test program in which the test procedure is separate from the test algorithm, the method comprising the steps of: providing a software storage medium containing an object oriented program including: software code implementing the test algorithm in a test class defining software object methods; a set of functions defining the procedure; implementing the functions to produce classes to further define the procedure; and generating the test procedure separate from the test class defined object methods by implementing the functions to provide a list of tests to be run and a list of measurements which provide parameters for each of the tests.
The invention not only provides relatively-easy means to modify an existing test procedure or create a new test procedure, but it preferably also organizes the test results in a logical, intuitive, and visually appealing way enabling the test developer to instantly determine the test results. The invention preferably compares the test results with a set of user-defined specifications, and assigns a resultant icon based on the comparison. This resultant icon is logically and efficiently displayed and allows the test developer to instantly recognize passing and failing test results. In addition, the visual presentation of the resulting icons and the test results allow the test developer or user to conceptualize modifications and improvements.
The above and other advantages of the present invention may be better understood from a reading of the following description of the preferred exemplary embodiments of the invention taken in conjunction with the drawings in which: